package com.lagou.edu.service.impl;

import com.lagou.edu.Annotations.Autowired;
import com.lagou.edu.Annotations.Component;
import com.lagou.edu.Annotations.Transactional;
import com.lagou.edu.dao.AccountDao;
import com.lagou.edu.pojo.Account;

/**
 * @author yk
 * @date 2021/2/9 16:26
 * @description
 */
@Component(value = "transferServiceCgLib")
@Transactional
public class TransferServiceCgLib {

    @Autowired
    private AccountDao accountDao;
    // 构造函数传值/set方法传值
    public void setAccountDao(AccountDao accountDao) {
        this.accountDao = accountDao;
    }

    public void transfer(String fromCardNo, String toCardNo, int money) throws Exception {
        Account from = accountDao.queryAccountByCardNo(fromCardNo);
        Account to = accountDao.queryAccountByCardNo(toCardNo);

        from.setMoney(from.getMoney()-money);
        to.setMoney(to.getMoney()+money);

        accountDao.updateAccountByCardNo(to);
        int c = 1/0;
        accountDao.updateAccountByCardNo(from);
    }
}
